home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / PROGMISC / PCSSP.LZH / PC-SSP.ZIP / STATMISC.ZIP / MOMEN.FOR < prev    next >
Text File  |  1985-11-29  |  3KB  |  94 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE MOMEN
  5. C
  6. C        PURPOSE
  7. C           TO FIND THE THE FIRST FOUR MOMENTS FOR GROUPED DATA ON
  8. C           EQUAL CLASS INTERVALS.
  9. C
  10. C        USAGE
  11. C           CALL MOMEN (F,UBO,NOP,ANS)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           F   - GROUPED DATA (FREQUENCIES).  GIVEN AS A VECTOR OF
  15. C                 LENGTH (UBO(3)-UBO(1))/UBO(2)
  16. C           UBO - 3 CELL VECTOR, UBO(1) IS LOWER BOUND AND UBO(3) UPPER
  17. C                 BOUND ON DATA.  UBO(2) IS CLASS INTERVAL.  NOTE THAT
  18. C                 UBO(3) MUST BE GREATER THAN UBO(1).
  19. C           NOP - OPTION PARAMETER.  IF NOP = 1, ANS(1) = MEAN.  IF
  20. C                 NOP = 2, ANS(2) = SECOND MOMENT.  IF NOP = 3, ANS(3) =
  21. C                 THIRD MOMENT.  IF NOP = 4, ANS(4) = FOURTH MOMENT.
  22. C                 IF NOP = 5, ALL FOUR MOMENTS ARE FILLED IN.
  23. C           ANS - OUTPUT VECTOR OF LENGTH 4 INTO WHICH MOMENTS ARE PUT.
  24. C
  25. C        REMARKS
  26. C           NOTE THAT THE FIRST MOMENT IS NOT CENTRAL BUT THE VALUE OF
  27. C           THE MEAN ITSELF.  THE MEAN IS ALWAYS CALCULATED.  MOMENTS
  28. C           ARE BIASED AND NOT CORRECTED FOR GROUPING.
  29. C
  30. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  31. C           NONE
  32. C
  33. C        METHOD
  34. C           REFER TO M. G. KENDALL, 'THE ADVANCED THEORY OF STATISTICS',
  35. C           V.1, HAFNER PUBLISHING COMPANY, 1958, CHAPTER 3.
  36. C
  37. C     ..................................................................
  38. C
  39.       SUBROUTINE MOMEN (F,UBO,NOP,ANS)
  40.       DIMENSION F(1),UBO(1),ANS(1)
  41. C
  42.       DO 100 I=1,4
  43.   100 ANS(I)=0.0
  44. C
  45. C     CALCULATE THE NUMBER OF CLASS INTERVALS
  46. C
  47.       N=(UBO(3)-UBO(1))/UBO(2)+0.5
  48. C
  49. C     CALCULATE TOTAL FREQUENCY
  50. C
  51.       T=0.0
  52.       DO 110 I=1,N
  53.   110 T=T+F(I)
  54. C
  55.       IF(NOP-5) 130, 120, 115
  56.   115 NOP=5
  57.   120 JUMP=1
  58.       GO TO 150
  59.   130 JUMP=2
  60. C
  61. C        FIRST MOMENT
  62. C
  63.   150 DO 160 I=1,N
  64.       FI=I
  65.   160 ANS(1)=ANS(1)+F(I)*(UBO(1)+(FI-0.5)*UBO(2))
  66.       ANS(1)=ANS(1)/T
  67. C
  68.       GO TO (350,200,250,300,200), NOP
  69. C
  70. C        SECOND MOMENT
  71. C
  72.   200 DO 210 I=1,N
  73.       FI=I
  74.   210 ANS(2)=ANS(2)+F(I)*(UBO(1)+(FI-0.5)*UBO(2)-ANS(1))**2
  75.       ANS(2)=ANS(2)/T
  76.       GO TO (250,350), JUMP
  77. C
  78. C        THIRD MOMENT
  79. C
  80.   250 DO 260 I=1,N
  81.       FI=I
  82.   260 ANS(3)=ANS(3)+F(I)*(UBO(1)+(FI-0.5)*UBO(2)-ANS(1))**3
  83.       ANS(3)=ANS(3)/T
  84.       GO TO (300,350), JUMP
  85. C
  86. C        FOURTH MOMENT
  87. C
  88.   300 DO 310 I=1,N
  89.       FI=I
  90.   310 ANS(4)=ANS(4)+F(I)*(UBO(1)+(FI-0.5)*UBO(2)-ANS(1))**4
  91.       ANS(4)=ANS(4)/T
  92.   350 RETURN
  93.       END
  94.